#pragma once

#define MV_ITEM_TYPES \
    X( mvInputText ) \
    X( mvButton ) \
    X( mvRadioButton ) \
    X( mvTabBar ) \
    X( mvTab ) \
    X( mvImage ) \
    X( mvMenuBar ) \
    X( mvViewportMenuBar ) \
    X( mvMenu ) \
    X( mvMenuItem ) \
    X( mvChildWindow ) \
    X( mvGroup ) \
    X( mvSliderFloat ) \
    X( mvSliderInt ) \
    X( mvFilterSet ) \
    X( mvDragFloat ) \
    X( mvDragInt ) \
    X( mvInputFloat ) \
    X( mvInputInt ) \
    X( mvColorEdit ) \
    X( mvClipper ) \
    X( mvColorPicker ) \
    X( mvTooltip ) \
    X( mvCollapsingHeader ) \
    X( mvSeparator ) \
    X( mvCheckbox ) \
    X( mvListbox ) \
    X( mvText ) \
    X( mvCombo ) \
    X( mvPlot ) \
    X( mvSimplePlot ) \
    X( mvDrawlist ) \
    X( mvWindowAppItem ) \
    X( mvSelectable ) \
    X( mvTreeNode ) \
    X( mvProgressBar ) \
    X( mvSpacer ) \
    X( mvImageButton ) \
    X( mvTimePicker ) \
    X( mvDatePicker ) \
    X( mvColorButton ) \
    X( mvFileDialog ) \
    X( mvTabButton ) \
    X( mvDrawNode ) \
    X( mvNodeEditor ) \
    X( mvNode ) \
    X( mvNodeAttribute ) \
    X( mvTable ) \
    X( mvTableColumn ) \
    X( mvTableRow ) \
    X( mvDrawLine ) \
    X( mvDrawArrow ) \
    X( mvDrawTriangle ) \
    X( mvDrawImageQuad ) \
    X( mvDrawCircle ) \
    X( mvDrawEllipse ) \
    X( mvDrawBezierCubic ) \
    X( mvDrawBezierQuadratic ) \
    X( mvDrawQuad ) \
    X( mvDrawRect ) \
    X( mvDrawText ) \
    X( mvDrawPolygon ) \
    X( mvDrawPolyline ) \
    X( mvDrawImage ) \
    X( mvDragFloatMulti ) \
    X( mvDragIntMulti ) \
    X( mvSliderFloatMulti ) \
    X( mvSliderIntMulti ) \
    X( mvInputIntMulti ) \
    X( mvInputFloatMulti ) \
    X( mvDragPoint ) \
    X( mvDragLine ) \
    X( mvAnnotation ) \
    X( mvLineSeries ) \
    X( mvScatterSeries ) \
    X( mvStemSeries ) \
    X( mvStairSeries ) \
    X( mvBarSeries ) \
    X( mvErrorSeries ) \
    X( mvVLineSeries ) \
    X( mvHLineSeries ) \
    X( mvHeatSeries ) \
    X( mvImageSeries ) \
    X( mvPieSeries ) \
    X( mvShadeSeries ) \
    X( mvLabelSeries ) \
    X( mvHistogramSeries ) \
    X( mv2dHistogramSeries ) \
    X( mvCandleSeries ) \
    X( mvAreaSeries ) \
    X( mvColorMapScale ) \
    X( mvSlider3D ) \
    X( mvKnobFloat ) \
    X( mvLoadingIndicator ) \
    X( mvNodeLink ) \
    X( mvTextureRegistry ) \
    X( mvStaticTexture ) \
    X( mvDynamicTexture ) \
    X( mvStage ) \
    X( mvDrawLayer ) \
    X( mvViewportDrawlist ) \
    X( mvFileExtension ) \
    X( mvPlotLegend ) \
    X( mvPlotAxis ) \
    X( mvHandlerRegistry ) \
    X( mvKeyDownHandler ) \
    X( mvKeyPressHandler ) \
    X( mvKeyReleaseHandler ) \
    X( mvMouseMoveHandler ) \
    X( mvMouseWheelHandler ) \
    X( mvMouseClickHandler ) \
    X( mvMouseDoubleClickHandler ) \
    X( mvMouseDownHandler ) \
    X( mvMouseReleaseHandler ) \
    X( mvMouseDragHandler ) \
    X( mvHoverHandler ) \
    X( mvActiveHandler ) \
    X( mvFocusHandler ) \
    X( mvVisibleHandler ) \
    X( mvEditedHandler ) \
    X( mvActivatedHandler ) \
    X( mvDeactivatedHandler ) \
    X( mvDeactivatedAfterEditHandler ) \
    X( mvToggledOpenHandler ) \
    X( mvClickedHandler ) \
    X( mvDoubleClickedHandler ) \
    X( mvDragPayload ) \
    X( mvResizeHandler ) \
    X( mvFont ) \
    X( mvFontRegistry ) \
    X( mvTheme ) \
    X( mvThemeColor ) \
    X( mvThemeStyle ) \
    X( mvThemeComponent ) \
    X( mvFontRangeHint ) \
    X( mvFontRange ) \
    X( mvFontChars ) \
    X( mvCharRemap ) \
    X( mvValueRegistry ) \
    X( mvIntValue ) \
    X( mvFloatValue ) \
    X( mvFloat4Value ) \
    X( mvInt4Value ) \
    X( mvBoolValue ) \
    X( mvStringValue ) \
    X( mvDoubleValue ) \
    X( mvDouble4Value ) \
    X( mvColorValue ) \
    X( mvFloatVectValue ) \
    X( mvSeriesValue ) \
    X( mvRawTexture ) \
    X( mvSubPlots ) \
    X( mvColorMap ) \
    X( mvColorMapRegistry ) \
    X( mvColorMapButton ) \
    X( mvColorMapSlider ) \
    X( mvTemplateRegistry ) \
    X( mvTableCell ) \
    X( mvItemHandlerRegistry ) \
    X( mvInputDouble ) \
    X( mvInputDoubleMulti ) \
    X( mvDragDouble ) \
    X( mvDragDoubleMulti ) \
    X( mvSliderDouble ) \
    X( mvSliderDoubleMulti ) \
    X( mvCustomSeries )
